# -*- coding:utf-8 -*-
"""
Author：Administrator
Date:2021年12月22日
"""
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as mtick

df = pd.read_excel('../source/JD2019 - 7.2.3.xlsx')
df1 = df[df['商品名称'] == '零基础学Python（全彩版）'].sort_values('日期')
df1 = df1[['北京', '上海', '广州', '成都', '武汉', '沈阳', '西安', '日期']]
df1 = df1.set_index('日期')
df1['全国销量'] = df1.sum(axis=1)
# 环比增长率
df1['rate'] = ((df1['全国销量'] - df1['全国销量'].shift()) / df1['全国销量']) * 100
# 选取2019年的数据
df1 = df1['2019-01-01':'2019-12-01']
x = list(range(12))
y1 = df1['全国销量']
y2 = df1['rate']
fig = plt.figure()
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
ax1 = fig.add_subplot(111)
plt.title('2019年全国销量及环比增长情况')
# 图表X轴标题
plt.xticks(x, ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'])
ax1.bar(x, y1, color='deepskyblue', label='left')
ax1.set_ylabel('全国销量(册)')
ax2 = ax1.twinx()  # 添加一条y轴坐标
ax2.plot(x, y2, color='r', linestyle='-', marker='o', mfc='w', label=u'增长率')
# 设置右侧y轴格式
fmt = '%.1f%%'
yticks = mtick.FormatStrFormatter(fmt)
ax2.yaxis.set_major_formatter(yticks)
ax2.set_ylim(-100, 100)
ax2.set_ylabel(u'增长率')
for a, b in zip(x, y2):
	plt.text(a, b + 0.02, '%.1f%%' % b, ha='center', va='bottom', fontsize=8)

plt.subplots_adjust(right=0.8)
plt.show()

print(df1)
